package marchsoft.modules.selfFish.pisciculture.service;

import com.baomidou.mybatisplus.extension.service.IService;
import marchsoft.modules.selfFish.pisciculture.entity.Equipment;
import marchsoft.modules.selfFish.pisciculture.entity.dto.EquipmentDto;
import marchsoft.response.Result;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Set;

/**
 *@title EquipmentService
 *@description
 *@author Lenovo
 *@version 1.0
 *@create 2024-07-15 17:27
 */
public interface EquipmentService extends IService<Equipment> {

    /** 获取设备列表
     *@description 获取设备列表
     *@param equipmentName 设备名称
     *@param pageNum 当前页
     *@param pageSize 每页显示的条数
     *@return Result<Object>
     */
    Result<Object> getEquipmentList(String equipmentName,Long pageNum,Long pageSize);

    /** 新增设备
     *@description 新增设备
     *@param equipmentDto 设备信息
     *@return Result<Object>
     */
    Result<Object> create(EquipmentDto equipmentDto);

    /** 删除设备
     * @description 删除设备
     * @param ids 数据id集合
     * @return Result<Object>
     */
    Result<Object> delete(Set<Long> ids);

    /** 修改设备
     * @description 修改设备
     * @param equipmentDto 设备信息
     * @return Result<Object>
     */
    Result<Object> update(EquipmentDto equipmentDto);

    /** 导出设备数据
     * @description 导出设备数据
     * @param equipmentName 设备名称
     * @param response 响应对象
     * @throws IOException 异常
     */
    void download(String equipmentName,HttpServletResponse response) throws IOException;
}
